{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Softmax exercise\n",
    "\n",
    "*Complete and hand in this completed worksheet (including its outputs and any supporting code outside of the worksheet) with your assignment submission. For more details see the [assignments page](http://vision.stanford.edu/teaching/cs231n/assignments.html) on the course website.*\n",
    "\n",
    "This exercise is analogous to the SVM exercise. You will:\n",
    "\n",
    "- implement a fully-vectorized **loss function** for the Softmax classifier\n",
    "- implement the fully-vectorized expression for its **analytic gradient**\n",
    "- **check your implementation** with numerical gradient\n",
    "- use a validation set to **tune the learning rate and regularization** strength\n",
    "- **optimize** the loss function with **SGD**\n",
    "- **visualize** the final learned weights\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import random\n",
    "import numpy as np\n",
    "from cs231n.data_utils import load_CIFAR10\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from __future__ import print_function\n",
    "\n",
    "%matplotlib inline\n",
    "plt.rcParams['figure.figsize'] = (10.0, 8.0) # set default size of plots\n",
    "plt.rcParams['image.interpolation'] = 'nearest'\n",
    "plt.rcParams['image.cmap'] = 'gray'\n",
    "\n",
    "# for auto-reloading extenrnal modules\n",
    "# see http://stackoverflow.com/questions/1907993/autoreload-of-modules-in-ipython\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train data shape:  (49000, 3073)\n",
      "Train labels shape:  (49000,)\n",
      "Validation data shape:  (1000, 3073)\n",
      "Validation labels shape:  (1000,)\n",
      "Test data shape:  (1000, 3073)\n",
      "Test labels shape:  (1000,)\n",
      "dev data shape:  (500, 3073)\n",
      "dev labels shape:  (500,)\n"
     ]
    }
   ],
   "source": [
    "def get_CIFAR10_data(num_training=49000, num_validation=1000, num_test=1000, num_dev=500):\n",
    "    \"\"\"\n",
    "    Load the CIFAR-10 dataset from disk and perform preprocessing to prepare\n",
    "    it for the linear classifier. These are the same steps as we used for the\n",
    "    SVM, but condensed to a single function.  \n",
    "    \"\"\"\n",
    "    # Load the raw CIFAR-10 data\n",
    "    cifar10_dir = 'cs231n/datasets/cifar-10-batches-py'\n",
    "    X_train, y_train, X_test, y_test = load_CIFAR10(cifar10_dir)\n",
    "    \n",
    "    # subsample the data\n",
    "    mask = list(range(num_training, num_training + num_validation))\n",
    "    X_val = X_train[mask]\n",
    "    y_val = y_train[mask]\n",
    "    mask = list(range(num_training))\n",
    "    X_train = X_train[mask]\n",
    "    y_train = y_train[mask]\n",
    "    mask = list(range(num_test))\n",
    "    X_test = X_test[mask]\n",
    "    y_test = y_test[mask]\n",
    "    mask = np.random.choice(num_training, num_dev, replace=False)\n",
    "    X_dev = X_train[mask]\n",
    "    y_dev = y_train[mask]\n",
    "    \n",
    "    # Preprocessing: reshape the image data into rows\n",
    "    X_train = np.reshape(X_train, (X_train.shape[0], -1))\n",
    "    X_val = np.reshape(X_val, (X_val.shape[0], -1))\n",
    "    X_test = np.reshape(X_test, (X_test.shape[0], -1))\n",
    "    X_dev = np.reshape(X_dev, (X_dev.shape[0], -1))\n",
    "    \n",
    "    # Normalize the data: subtract the mean image\n",
    "    mean_image = np.mean(X_train, axis = 0)\n",
    "    X_train -= mean_image\n",
    "    X_val -= mean_image\n",
    "    X_test -= mean_image\n",
    "    X_dev -= mean_image\n",
    "    \n",
    "    # add bias dimension and transform into columns\n",
    "    X_train = np.hstack([X_train, np.ones((X_train.shape[0], 1))])\n",
    "    X_val = np.hstack([X_val, np.ones((X_val.shape[0], 1))])\n",
    "    X_test = np.hstack([X_test, np.ones((X_test.shape[0], 1))])\n",
    "    X_dev = np.hstack([X_dev, np.ones((X_dev.shape[0], 1))])\n",
    "    \n",
    "    return X_train, y_train, X_val, y_val, X_test, y_test, X_dev, y_dev\n",
    "\n",
    "\n",
    "# Invoke the above function to get our data.\n",
    "X_train, y_train, X_val, y_val, X_test, y_test, X_dev, y_dev = get_CIFAR10_data()\n",
    "print('Train data shape: ', X_train.shape)\n",
    "print('Train labels shape: ', y_train.shape)\n",
    "print('Validation data shape: ', X_val.shape)\n",
    "print('Validation labels shape: ', y_val.shape)\n",
    "print('Test data shape: ', X_test.shape)\n",
    "print('Test labels shape: ', y_test.shape)\n",
    "print('dev data shape: ', X_dev.shape)\n",
    "print('dev labels shape: ', y_dev.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Softmax Classifier\n",
    "\n",
    "Your code for this section will all be written inside **cs231n/classifiers/softmax.py**. \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loss: 2.306416\n",
      "sanity check: 2.302585\n"
     ]
    }
   ],
   "source": [
    "# First implement the naive softmax loss function with nested loops.\n",
    "# Open the file cs231n/classifiers/softmax.py and implement the\n",
    "# softmax_loss_naive function.\n",
    "\n",
    "from cs231n.classifiers.softmax import softmax_loss_naive\n",
    "import time\n",
    "\n",
    "# Generate a random softmax weight matrix and use it to compute the loss.\n",
    "W = np.random.randn(3073, 10) * 0.0001\n",
    "loss, grad = softmax_loss_naive(W, X_dev, y_dev, 0.0)\n",
    "\n",
    "# As a rough sanity check, our loss should be something close to -log(0.1).\n",
    "print('loss: %f' % loss)\n",
    "print('sanity check: %f' % (-np.log(0.1)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Inline Question 1:\n",
    "Why do we expect our loss to be close to -log(0.1)? Explain briefly.**\n",
    "\n",
    "**Your answer:** *Fill this in*\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "numerical: 0.107188 analytic: 0.107188, relative error: 9.033279e-08\n",
      "numerical: 0.555100 analytic: 0.555100, relative error: 7.633184e-08\n",
      "numerical: -1.113270 analytic: -1.113270, relative error: 4.780217e-08\n",
      "numerical: -1.104025 analytic: -1.104026, relative error: 1.087970e-07\n",
      "numerical: 2.061897 analytic: 2.061897, relative error: 1.530414e-08\n",
      "numerical: -3.009827 analytic: -3.009828, relative error: 4.867791e-09\n",
      "numerical: 0.769909 analytic: 0.769909, relative error: 1.298101e-08\n",
      "numerical: 3.912444 analytic: 3.912443, relative error: 2.170362e-08\n",
      "numerical: -1.516094 analytic: -1.516094, relative error: 3.170304e-08\n",
      "numerical: -0.397937 analytic: -0.397937, relative error: 1.158759e-09\n",
      "numerical: 0.401223 analytic: 0.401223, relative error: 2.070727e-07\n",
      "numerical: 0.674149 analytic: 0.674149, relative error: 7.850522e-08\n",
      "numerical: 0.601992 analytic: 0.601992, relative error: 3.394961e-08\n",
      "numerical: 0.970325 analytic: 0.970325, relative error: 6.912619e-08\n",
      "numerical: -2.430390 analytic: -2.430390, relative error: 3.647781e-08\n",
      "numerical: -0.842228 analytic: -0.842228, relative error: 2.595258e-08\n",
      "numerical: 0.556592 analytic: 0.556592, relative error: 9.068012e-10\n",
      "numerical: -0.574377 analytic: -0.574378, relative error: 1.203648e-07\n",
      "numerical: 1.007542 analytic: 1.007542, relative error: 7.305433e-08\n",
      "numerical: -0.272496 analytic: -0.272496, relative error: 3.872703e-07\n"
     ]
    }
   ],
   "source": [
    "# Complete the implementation of softmax_loss_naive and implement a (naive)\n",
    "# version of the gradient that uses nested loops.\n",
    "loss, grad = softmax_loss_naive(W, X_dev, y_dev, 0.0)\n",
    "\n",
    "# As we did for the SVM, use numeric gradient checking as a debugging tool.\n",
    "# The numeric gradient should be close to the analytic gradient.\n",
    "from cs231n.gradient_check import grad_check_sparse\n",
    "f = lambda w: softmax_loss_naive(w, X_dev, y_dev, 0.0)[0]\n",
    "grad_numerical = grad_check_sparse(f, W, grad, 10)\n",
    "\n",
    "# similar to SVM case, do another gradient check with regularization\n",
    "loss, grad = softmax_loss_naive(W, X_dev, y_dev, 5e1)\n",
    "f = lambda w: softmax_loss_naive(w, X_dev, y_dev, 5e1)[0]\n",
    "grad_numerical = grad_check_sparse(f, W, grad, 10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "naive loss: 2.306416e+00 computed in 0.109788s\n",
      "vectorized loss: 2.306416e+00 computed in 0.009564s\n",
      "Loss difference: 0.000000\n",
      "Gradient difference: 0.000000\n"
     ]
    }
   ],
   "source": [
    "# Now that we have a naive implementation of the softmax loss function and its gradient,\n",
    "# implement a vectorized version in softmax_loss_vectorized.\n",
    "# The two versions should compute the same results, but the vectorized version should be\n",
    "# much faster.\n",
    "tic = time.time()\n",
    "loss_naive, grad_naive = softmax_loss_naive(W, X_dev, y_dev, 0.000005)\n",
    "toc = time.time()\n",
    "print('naive loss: %e computed in %fs' % (loss_naive, toc - tic))\n",
    "\n",
    "from cs231n.classifiers.softmax import softmax_loss_vectorized\n",
    "tic = time.time()\n",
    "loss_vectorized, grad_vectorized = softmax_loss_vectorized(W, X_dev, y_dev, 0.000005)\n",
    "toc = time.time()\n",
    "print('vectorized loss: %e computed in %fs' % (loss_vectorized, toc - tic))\n",
    "\n",
    "# As we did for the SVM, we use the Frobenius norm to compare the two versions\n",
    "# of the gradient.\n",
    "grad_difference = np.linalg.norm(grad_naive - grad_vectorized, ord='fro')\n",
    "print('Loss difference: %f' % np.abs(loss_naive - loss_vectorized))\n",
    "print('Gradient difference: %f' % grad_difference)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "lr 1.000000e-07 reg 2.500000e+04 train accuracy: 0.351714 val accuracy: 0.365000\n",
      "lr 1.000000e-07 reg 5.000000e+04 train accuracy: 0.329551 val accuracy: 0.344000\n",
      "lr 5.000000e-07 reg 2.500000e+04 train accuracy: 0.349571 val accuracy: 0.363000\n",
      "lr 5.000000e-07 reg 5.000000e+04 train accuracy: 0.316367 val accuracy: 0.339000\n",
      "best validation accuracy achieved during cross-validation: 0.365000\n"
     ]
    }
   ],
   "source": [
    "# Use the validation set to tune hyperparameters (regularization strength and\n",
    "# learning rate). You should experiment with different ranges for the learning\n",
    "# rates and regularization strengths; if you are careful you should be able to\n",
    "# get a classification accuracy of over 0.35 on the validation set.\n",
    "from cs231n.classifiers import Softmax\n",
    "results = {}\n",
    "best_val = -1\n",
    "best_softmax = None\n",
    "learning_rates = [1e-7, 5e-7]\n",
    "regularization_strengths = [2.5e4, 5e4]\n",
    "\n",
    "################################################################################\n",
    "# TODO:                                                                        #\n",
    "# Use the validation set to set the learning rate and regularization strength. #\n",
    "# This should be identical to the validation that you did for the SVM; save    #\n",
    "# the best trained softmax classifer in best_softmax.                          #\n",
    "################################################################################\n",
    "for lr in learning_rates:\n",
    "    for reg in regularization_strengths:\n",
    "        softmax = Softmax()\n",
    "        softmax.train(X_train, y_train, lr, reg, num_iters=2000, verbose=False)\n",
    "        y_train_pred = softmax.predict(X_train)\n",
    "        y_val_pred = softmax.predict(X_val)\n",
    "        training_accuracy = np.mean(y_train == y_train_pred)\n",
    "        validation_accuracy = np.mean(y_val == y_val_pred)\n",
    "        results[(lr,reg)] = (training_accuracy,validation_accuracy)\n",
    "        if validation_accuracy > best_val:\n",
    "            best_val = validation_accuracy\n",
    "            best_softmax = softmax\n",
    "################################################################################\n",
    "#                              END OF YOUR CODE                                #\n",
    "################################################################################\n",
    "    \n",
    "# Print out results.\n",
    "for lr, reg in sorted(results):\n",
    "    train_accuracy, val_accuracy = results[(lr, reg)]\n",
    "    print('lr %e reg %e train accuracy: %f val accuracy: %f' % (\n",
    "                lr, reg, train_accuracy, val_accuracy))\n",
    "    \n",
    "print('best validation accuracy achieved during cross-validation: %f' % best_val)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "softmax on raw pixels final test set accuracy: 0.362000\n"
     ]
    }
   ],
   "source": [
    "# evaluate on test set\n",
    "# Evaluate the best softmax on test set\n",
    "y_test_pred = best_softmax.predict(X_test)\n",
    "test_accuracy = np.mean(y_test == y_test_pred)\n",
    "print('softmax on raw pixels final test set accuracy: %f' % (test_accuracy, ))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nHtr5mrv8y1wrPni+nTXyipnd/xb//mNm9lNRFL05XpU+HLSZMtszs5Unf7l+g7Un/79r5y80Up28\ncAAAIABJREFUm5lZCCFv55LezpPvrbp/C/6/xa8a/Cb52M49F+vuszU7H0+zbxpTO5/84sPlW83B\nb+DH2KIo+qtRFH3UzmW/Z83sP7HzsW+Z2QtRFE0++V/piWQhngJRFP1kFEWftvPxjMzsL/wKbjOa\nk0/edVy1cxsRHzzRe3zWsPM/WMxsFPDj/1h5bGbXv8X9f6eZ/WAI4Q+PU8kPC22mzH7RzPpm9odC\nCMkQwg+Z2cef/NvfMbPfF0J4NYSQtnNZ4JeeyEP/l5m9FEL4wSd/Rf0BM1t8+tUX75cnMsJPmdmf\nCSEUQwjrdq7jfyPPzU+Z2R8OIayEECbN7I99SFUV8K3m4P+HEMLHQgifePIeTcPM2mY2fOLF+Btm\n9ldCCPNPrl0JIbyfdz3EmITz/G/f92QM23a+sR3+Cm710RDCDz1Zc3/MzDpm9vlLrKr45Tmw83dN\nfznu2LlX8bc8mX8/bufS7jf4n83sT4UQnnkSKPJyCGHG/fuumf06O1+D/4PLrvwHzXf8ZiqKoq6Z\n/ZCZ/V4zOzWzf93M/v6Tf/tZM/uTZvZ/2rnX4ro9ecciiqJjO99J/5d2Ljs8b2ZfsvPJLX718h/Z\n+UP2gZ2/kP6TZvY3n/zb3zCzf2ZmXzezr5rZP7Xzjfbg6VdTmH3rOfjLMGHn41i2c3nwxMz+qyf/\n9sfM7J6ZfT6EUDWznzWz5z6YmotvIm3n7yAe27msN2/n7799u/wjO1+jy3b+ruMPPXl/Snzw/Dkz\n+/EnEvnv+OZ/jKKoYmb/oZ1vmnbsfJ31r778ZTv/g/WfmVnVzP4XM8t+0z0e2fmG6j8N/4pFxoeL\nrwqJXylPXM7bZva7oyj6zIddHzE+IYTfbGZ/PYqi9fe8WAjxgRJC+AkzuxFF0b/1YddFiG/mO94z\nNQ4hhN8YQph84rr+E2YWTC7nf2UJIWRDCD8QQkiEEFbM7D83s3/wYddLCCHEr260mRqPT9l5dMKx\nmf1WM/vB9xkiKn51Eszsv7BzCeGrZvaOKQ+REEKI90AynxBCCCHEGMgzJYQQQggxBtpMCSGEEEKM\nwVM9wPXHftv3jzTFZnQ0+jzfJY/XQenBqJw18mhOudx6N+L5Ubk1S/ne5jujckiSviJf47vT8eKo\n3Fwkona1T/T7nW2+O/Hc7VE51XvxQnt6DXLFHWf4fnaXo6ISxXujcnJ6bVTud+6Oyt2IPJGZCvU7\nLjE8qUfkKIznl0blo1fox/Rbo3xpFrKVUXmwXR6V/8Yv3vXJSX/F/MU/+VtGY9lPTY8+Pyk/GpUn\nskjIhSHtaoXNUbnWp6/POvRD8VMkRQ736qNy8uEs91+sjcrpZnxU3q7wuysL86Py3Yh+uJk6uNCe\nr72LDS6UuNdsgf7tt6co7/IbZ6uMTYqfsOkZ7O4ocTwqN842uP/G2aicvEdftD6K3Qze/vioHN3a\nHJX/7B/5+UsZSzOzP/tn/uaoQdUM9e63S5RjjMmiS6l2eou+CGeMSfGMefCw2B+V8+40rnWXamgh\nTvkrMcZ5WN8clbuJ0RnkNptjPIb9i0tZstsYlTMN5nlujXmxV6Wd6Rj2edDgb8ylOJlOBtOuu9O0\nv91k/Ict2hBfSLn7MP7F5MdG5ftp+utP/4ZPX8p4/vm/9Q9GA9IeLvC7e6wPO0u0q1Q6pc4H9NXE\ndapTe4Pci+Vpvhu5RDDDPm1sFlgPe/cYs2SMMZuZoe2xFut41PYnjJj1usyL4RRjdri6NypPPqZ+\n6R73nc7T/rhbL7b3mP8rHWz8QZ7fSp+wlqXd5x2jPZlniPxPH94clf/Uv//spc3Nv/WZ/dF4Ltba\no88P2qyL4drEqNx/h2wDzcnuqDzjko/vbt0YlRfCW6Py5CT3ebePLUy+xMLWfod1upCdHJUHxthk\nhsy/asC+zMzSKeZFbMh3Si7DxXaWvo+7taBcZr3Md1jbZ44Z28Nb5FpOdGn/3AZj3n4Le5k36trt\n07Zogr7+Hb998T3HU54pIYQQQogxeKqeqYMJkqGmI/4amG6yC52P8RfKaZKdd7/JjvmLQ/dXVZm/\nNFemro7K+0v8JZz8Op6cxjqehmGSHez+gL8oX7yBN6qRZffbXf3axQYVPjUqzt7+F6PyxEdvjcqV\n6kujclRgp3ujRq7Ar7q/kAffzV90/c/TL4s3+MvocOtwVM7uslOfTLDb7tbZkQ+/5/JPuSm9SP9m\nf4G/ChZir43Kp4+/OConZvjLJpekT1amaGPzlL8099/BDl48pe2NKcbvsMxf2ic5/rqYLfFHxOkQ\nG5o+xiXyIHfxOK+rC/TjTnBewAIeiF7WtTnr/oJP8NdZb5q/ovYecv/iJN6b9k3qnT/kns2XqNPc\nCfU+nfjqqHxtn/tfJpVV5uPxNuP5/AT9fc95LcpDrs/e5ppemnbe79CGxb7zHHaYj+k4XojekL+W\n46uMR2Ieez/7LLb8tSU8ISupi0G0w13+Cp2cY14M9zjSr9XliMZKh3FOJ/i9VBbv2va7XF9KMG79\nZ+iXWnBekTrtfLBF+Ypr88nSHVfrT9tlkJ3CA547Yl5sZumj5WPaeLrHGpefo093v4AnPiy+zg+U\nuM/ZHWx5pU5fLbu/0x8k6NvEGrYykWEdL59Qh52Ji2N55SFrf36O9qQ7/F78Ietd5DzCtQEe3rcj\nHnfLLZ4Vp0X3PGmwTmWXWK8zk1zTCHxe817mtHNLXyLdNu18NMGcipb5veI+ntWjAX1RSmKn5STz\nq/vs5qic+XmeoW/PYqexM9bmyrvUJ32KArRT3xiVa3nW3ajgPGITlM3Mam+yFlQSzKnFNB61hyt4\nFNedAlSI2EMMKthq65OMZ3+L8SnN8xxpHFNuZijv7FG/G8/Rv53wdVfrH7D3Qp4pIYQQQogx0GZK\nCCGEEGIMnqrMNzmNO3H2Pi8t3+/g1l1s83Lf4tQzo3I/xr6vML3JfVq48BcnOPWj/dhJZDlc/pVl\n3JiLFV4eLJ9xn63XuGbjbcqzSdznZmaZLV6k61z9XaPyTu8XRuXl/rOj8lnHHSFVRdJ6bhZX+cMK\n7vf1JT6fDrjK70zSj9ecDNEbIAFFEwzt4l33xu8lkXhAfx3ncMMf5XnJsXuNti8dEVhQKSOj1Yq0\n8ayJdDSXwCYeDnAF96tIs+ll95L9Pcaidd0FAEzSz4cDXLsvDS4et9eJcCtX0sh201vYzrBA0MCp\nk4jbm0hbV389LubyGXJOWOf6iQ52N53nt0oR3+09xu6mVpH/bpcu7b3WCzR2q9TjmHLU4vcK7mXs\noxou9tkWfZm4gaywVsUe92exx40j96JpjnWgHtyLzZ9Ddu8t82Jvzr0cnn9I/3ZXGH8zs+iY81iz\nRdz4D93Lth8tIS3tDt8elXd6jOdkzNmVm7/1CeZU00m1Rd4Vtp2A3b6wjLQxjHGf6+4F8cvi3fvY\n1+yJe/l+nXlRi1hnl1OM8d0jxmzqE9yn8FnG4yTj1pOce4Vigfs09rCJk6SzlU36czPJ9at91r2V\nSWQ6M7ODjzMv8if0aXTAulO4ieTV2MHWuhG/d7WEXacnkY5Oj3hBen0SW6v0WTvqde5ZaLImFM4Y\n+4Z7jeNSeYf+m5x2QU9zSNb1I8Ynk8Le0zvYewETtKqTPO8nGcM9J31fP6Rf3i1z/9g0QQTNNFLY\nC02eUccVXs0ozD2+0JxDZzNRCltKDwhwad2mj49nkPBy+4xzZobxHHyWeTS9gdRe5xJrbyOFLj/L\nNe1pbG//AZ1Usuf58vfZeyLPlBBCCCHEGGgzJYQQQggxBk9V5rt2H7li9zpvzd9oIBlNl3lb35K4\n/U8ncfvt3HfuuiJSz7CPlDRR4j7dFNd7GfEsiSz4woSLRHgDefHKLNEg29mLkVTDRVzZUxkXTZLC\nDRp3uXNOh1xzlnZu/z5yQ7GP23O/TL23s7hAU7PUu5Nw+VxKuFO7QyIjuihpl0a8Tv8WphinSos+\nmk0iE+QiXNITedzzW/u4oQeL1L/fxG173ESqWJt5gzocEBHZnMPFPOfueeaiRhN9xuWgfDHCxKbx\nB2czlE8z2Gl8QJ+GGcZv7UVsKrzLlMq3iVw6cLnHnk/yN8w7k25wOtj4cpr7zNT53UH+g5my6R36\nIzGNVHXvBpGpYfeXRuVCAgmgvIe8UXCu9P1DxrN+ilTRrTi3vbP3+DLSgG1wz/kBn5+8jNSa+gVk\n9/Qi9zczayxhb9EcbZuuuKjNPtFqu02X16yCBLB1wOfll5x81CYKb+kRn2ec/c+9gr3dfxvJ6FoJ\nW+3evPzjvKp5bCrXZw5uH7HGPeekk9tNJzu7qMv2ferZWCGKMtHEHqcafHd32cluJ8gxq72NUbn2\nDGtF8ZBXMV7PIql8pOOSV5nZ0dtEj802kMuPl1hbDyLm1OS8iyRcZGyuHtCewQA76Lrox73I5TFy\nz6LKJHaw0Ge+D2ZYixOHF3PXXRb9JV5P6EyyjmQa2M7gOep99+ex32duYY87B8inc3UnYc5Tnjul\nnc0+Unk6xXwMKfplukp9GhP0e7KDBJ/4JfdMN7PDOZ5Z63Vs4HMuwv35PnLjgcvvlovT92n3Wku4\nSftrWdaCwRvsD8KL/G7tAXMkHbnXGl5h3ah+1r4t5JkSQgghhBgDbaaEEEIIIcbgqcp8TU7ssLk0\nrr/+IW68bXcsS3LgoqHiRD2tf5IIikz7lVF5v8F9Xp5DDjg7eJUfLnLNp0+IjIjfRAo4quDqbg2Q\nJjsZ3PZmZpnZzVF5GGhPfYjrd7qDu3t2F7fprovIyzeIbiue4X4vPItc1Tsm4VqnjpyZX3SSgYsS\nq2/zW73SRQnkMig72a5XIJnpZN8l0gtE8+Vepm5fcpLS1CbRM2tV2tWfdMn9XiLiq/8G49Fb42+B\nT/bJkHm/hDR3rY5c2HFRS3b9YmLAeAM3ccW5zyedS/vQyQelBjJX6HPN3iqRIdNvIk9NbWBTnw9I\njxPuPI5sF7uOzyB9357m+ht57OYyaV2l/dW7LmKu94VRefNtXO+vvcbSsX/G3GwcMW6ZWcbtuEYE\nz8IG83o+x3f7FWSbwz0XeVZinjY+i01NLiL57pedRGhmxWvYQOPUySEt3PvtM5KhrgUkg04FWfl2\nkbFduuOO1ulhw9kr2LYNGcPDU2zsygL37LWQFdq/5BI9/qhdCmtn2MjRCdLbVSdTnzq5s7HskkIW\nuf7GrpNyrzDeQxeU3HsF6ejVv889DzZ4deFLddbia3XsurmIzLrRJxnnA9edZmYVF3VZvY59lVwU\nbWrCJXtOUNfYL/F5dw45K3JR0EknzZ61vzwqDyc3RuVixLzeO8BO+zOsO+tr2MdlkkxQp8ZD2vbA\nNkflwj7jcG0BG987pZ3VwLN18Tr3mdol4vEsx7Pr1NxxP03avPJ1rt9ZQ3brN5mDV6tEx97pX5T5\nVm+7hNKLjOFN4zk1MWS9POki89ZnvmdUbkf0fet1noM3ZpmDNu+Ox9miXzIug0AqjkEnXqduB/Nf\ncbXesPdCnikhhBBCiDHQZkoIIYQQYgyeqszXaLszyXK4t7e7LtIpjRu3X0DSqZbY99X2cKc+38OF\n3C/hojwZ4sbrfwIp5SPNzVG5nsF9PAxEIa1M4NJsu2CbK4e4es3MGlWktHrg8KJMg/vWruI2jOf4\n/kvH1OOgi+v784YE8qkKdXozQ5uLDfqx06CuD+MfHZVj8y5iIuL+l0Ws5HzxKeSDvHOH9pzk8fht\n6vyRBn3SzBIB87WuS8zaQM5Z6yLnWB4Xc63KuN6dpL3RDv1/zyV2u1pFhkjXL4Y43k7i6i25xIL1\n7yXabLKOK/3hBNcs3kY+XIxjE8MrRMb0TqnT1SwyTLqA7W+5xHjdeVzeyUPk5b113NaXybQ7Uy+5\ngq21G5zJtkwTbL/M2AZ3Lt7LKfr7Thmp7WNLtCHWY9xqx9h4wuivdpzPUwPafPNZ7r895J5zJ861\nb2adBBJFpsxYPSoSuVXIIqMf55h3tQQNvd5z0b/rSFG9I9q8sOPWi+vUdeEMO9/Jcf1M0UUwTnP/\ny6KyQORVNETmqlxxyS83mS8ZV4XJE/r3fo5/WO/QrmaKKM3Vu9z/7gqS7UmfdXk+Q3R0psgYW4vx\n81G3k6uMnZlZ053N2HjTGWGgT0/zjEG+jES0/1HavLqNPd6f5NmS3WF9mTzm/vMz2E31mHlaz7Le\n5eZ4xaFywKsPZp+yyyLeRj4bdui/eRel3jHGJ/RYO672aEO7wLpTe4fxD7/GJTD+ItenC6zN8RSf\nN+4xV85S2MhwggSeR32i9BYi5Fwzs6hEGx4XGaum6+PJPjaQDNhP75B9QzOG5JdM/MyofBAxhhs1\nrp/OO6l9HltonmKHjbvYWnKB+rwf5JkSQgghhBgDbaaEEEIIIcbgqcp8Vwy32UEDF+VcGrdkPU80\nW7aDC3DiMS66W8tINPdLuHHje0T9rEckG0zXOC+u3CGkMFtC9hm0SUq3XWCPWTyli9olEniamUXu\nDKnBHrLU7DXqUT6hPb07uMf3v/uFUbn2Bp8Xiri7q3Xan+v8IvW+hWu18JB+7Cdws54lkDy3pnFp\nXhYFJ3nls7jb81WkkH7CnbXkzla0InWOFanbStvZRIQref8ACaqxgkyz2sRu4o1Nyrdww1cGuP/L\nMVz7uSFRamZmJyW+0x/QhsmGi+B6TL/fWsQN3VmjTr2sS1y3/fKo3H4G+bqwQ/RQ94R7zlyjrkl3\ndlaviIR8pXMxovSyqB84l36Ncn7OScpx2lbfZ2yzLebROzFsdrrPuNWOkIBmz7CdUhHJL9ZGMprq\nEnm1WWFsojXkjOiMfh8OuN7MbKXHuJ10kdWmK0TOJu7ze+1p6n19iOxxMKAvckeMeXeStp1kseHW\n28gKV2MfoT1Obs5eQf47iS6eQ3cZlLeoW3HgJPUtxu+aS7b4lQXWq+QQ27yeJQorPmButhqMxxst\n+nAQ5z6LRV45OOwQdZXo8cpBeo61u+aiQOuHF9dZayPnHL+MraVclFj7MWN8ZYprTveYX8c5ZLiY\ni2YcuLPmQh65+N0O0YwTc7R/4BO/vkG08JDg1Uvl7BG/10uzNsWOsNlBBgmvHnPRz5M8E97ZZ2wn\nk8zr5Gf47ktO8r3jkqdWnb2nSvTR/CkRvvFJxiObI8q+d3RxPE8zrAW9d53NLLpXOI6x1dwjri8u\nuSTds58ZlY/uEy08kaJ+RwNku4Q7/7Gx4xIwL7PWpl+gnd3WxeSx74U8U0IIIYQQY6DNlBBCCCHE\nGDxVma88dK7uE9xsdoL0NrOMZBQz3KyPAhLIcpJqr7+Dmzk9gQRwUMYd+IkecsDrXfyYV1z0X26S\nhJHlB7j50xnOgpoJL11oz9EJESvpAb/R2MWdOujhlo02cL8m7/H5MOBynXGu64aLSIrNIAtWa3y3\nu4BbMmxtjMpXlnDv9x9c/vlfTZcws3+Cm3zHRaqtG32dLSHblbsu4qmNRLJvuHlPW4zBjVXGKesi\ndd5wieEmY7jbq3Vc8tfTSAztR/zu6aqzPzN7oYwslL+K/DC7xe/Fc0SoPOjSp7E5xnuqiY2nF1yU\nSNeN/Szu41zVRR4dELUzWcQl/bBL2+pXPphovgk3p87SRCembiOfDUvY6fVj+uutIlJYquvkyRoy\n13QGuSF9gNv+sIgdDbaY7wvL3H99AVvItvjuTIo+SqcvynyxbcZh2v3JeFhxCWwzSE4TLpHmMM78\nuu6ipI662MxRjPs0B/TXkotCarpkthM15LyKkzCGZxcTGl4G6RxrYuKIuXC4yFx7g2XNwjGvIix1\n3fqTZzxSTvIYltz5emnW6+kTxim3yOe5Y9qeiruoswz2nnGvBMx+F9FbZmah56Qglwj3pIPEdKvE\n8+FOeG1UXiiSmLU6zascUZfxXtikrp93Z789O6C/hmesCY0ZbPNmEju4m3KRhpdIrkXkdHWW8Qkx\nPh9GRBEXpjepUwVbW88wNzvHzJfBNOvr599Ebk1cRQpeeYw8fttF4GUHLmEv08byTqq9krvYL8v7\n2Ennikvse+qSKk+7+9beHJWvDVhTd90ZkVfz3POE6lmywv0rLdaLTJHKTjxkbKvGc3MirWg+IYQQ\nQoinhjZTQgghhBBj8FRlvgl3NtTRKi7kzgzuvdgRn8cKuFMXr+OK2yK4yRIl3HvPObfs4wh3e5TA\nNVpw8sT0KbLNfsud+dZxbsg+ddubuvh2f/eUvWgqEE2yM4VL9EoSCajVdNe7HIPZOPJWoesSiz3r\nopgeIpNVXVRkuoBLv3MVN+bJHu7K3BLn+l0Wgxiu2zBNBFPxPq7nnSru/dgikTT9Lq7xRoZ6hh2i\nGhfXnVzSYewfLLvzpQYb3LOE2zZT/9KoXHHRobGPE9XZ2b94jlZqij5txBi/rIuMqTrJ95lp+vro\nEL/yUdYlp3SJY5eGyBgVd3ZYd4jNztSRKt5dw8291Of60Pxg/v65M6Dv8zn67HiJfokatOc4hdwy\nUWFMqn1s4ayIqz/mZK5hnntmatjL2qvuXLA4/dLv079FFy0aisyVg4mLSTsTm+78Pycl93LITBkn\nyVUS9GvFnRfW2Gb+hyPkppg7s3E9wfy95ySw6/vMkeNFJ2fWXNTm/OVH2t5PMKdWBsg2lY5Lrpul\nXdPuPM1qRBtTU0REpw6QxZYmacv9TSTofonxeHifcbqRYu53+thQN81aP5Vi3tSji68lrFXdeWkr\n/NtEl+/0k/R7coaz3DI9orz6LlFvfNMljm1jX+tOnmy4qRaPu4SSAbu53eL+ycbln4FqZlaOOSl4\n0yX2ff7jo3LmBKm9+w+5fOFj7izEJOVKjr6Yz/Lsqq7S/oS51xRc8tdSg/bPuIj77QJ1m4q7iNg5\n5qKZWdKwpdBhfW1X3RmaMdbLxCRSdb2JVBt/hG23M3w3WuDzySXscPaENb/nIvtsjfsfV1h343uK\n5hNCCCGEeGpoMyWEEEIIMQZPVeY7cXKIP1eom8eNeRxw6V7JLY7KtUNcwrk4kkGmS0THSYbrXx44\nN+67/G6+jvtwy7hPu08U2u4C16SHuMYn8ICef+eRc+O/guuztYc7NT5FvetJ9q5x50FsneCWbEXU\no3eMa/V0ARdl1kW9dd/Etbo0jzwzKJDobdjl/pfF6gku/frQnX02SwTXc04u24+5M+vatPGk4Doi\nRhtvoyLZxBddgrUX+N3+JBLDtSwu9r0+CVQHU7h/C+4cuLmXXOiJmdXu4va+sYHcZDv8Xi6HJHXs\npNNqFbf1eh054MEC4910rvpUzp1/tYUEUrnO5y/1XKK+JG7y/JAxvlR2WAqupFxS3HvUu3sNSaqU\nZY5M5+jj6QzXb34deXbqFu0phVdH5YkubvVaDDvNuASu3TY2/rjMeXq3XBTsIH4xKq5bwpa23Tis\nlbG3sntFoLOPTLj0Fr93N8vasfoyNnZl253D9oh6PP9rmfsnSew8M0BKeTuL3b6UYY5cFks1+j1X\nYGxealHPiouKjReYX+kFXndI7LHgTZSQbx+euMjUIXJhokW/bRSdTO2eMq1pZLF4j3oOZ7GPyvHF\nuVmOqHfJRcseJxmzdMHJsS6yupPj+TBZc8kc12hzt0a512aclq/wu1suarznEnjOznGu33GHVzou\nk7ghvT4cYnfL3c1Red9Fr+dfxMbn3dmSjwvMr+k269pgm/JChvXr9JT5Xi4TFR09x/ytDRi32Cm2\nn1sgWrCYx97NzMp17KpT5bk512MOr2Uxmted6ru7x/jbipP8zSUzdet884C+GLgI9LvbPI9m66yv\nE136sdxDOn0/yDMlhBBCCDEG2kwJIYQQQozBU5X5UktIXoMertVMF2mvkMfl2Ki7s5FyVLUV55ql\nK7j0asd8fmq89T/hzky6s4LrbqKJazjpEsg96xIsnvSRXs5K1NPMLNvGbdzuOjdjCrfmQx959wiX\nc2oZibHqwkaKhsTUMVyO8QHl5Syu+O0kLtODIdGJqW3uU7hyMaHhZVBL4g6/3aX+V6bpk69UcA1v\nLOEC38+4pIgVoqvKfZcI8U18u7lZXLuTFe7fajM2R4vIJfU5olBKX3RJ7lacTvu2SxBnZrNOCd2c\nxzZz10nmmsqQtPX5Q+rxBScFHbrItokqbe4NuGbrjDY//wr3n+tis+3IJa3rIJ9MzFC+TFJznCN4\nFCfB5tJH6ePdR0gdsw03qYKL4Jt10bUbjPPmIRLAzDpRlYUMsuWEO18rs+KSzjZcJNEUtvYL7m/B\nedfvZmY25N+mA+tIvon8d+bWoMWb2EYhYHsLbzl54wxpoOvOEZvK0/5HZdagVIE+Kk0hmbzmIift\nA4jOnH0HeerYtSsZx76KKcagGkeytTPWlpmCKyeQQt7psaYtOnll/RqSzX7CJ2Okf9YKrGOPTphD\nwyRjUVjndQ0zsymn7LyxyDy6+Rb16N+g3ydQD+1LbzDXPvI8fb10hFxW7rBuxvPUo+MiqFPz7llU\npnwywDZTvYtRa5fFvjHns1V+4+EXkPByL7h1oUzbHgxcFOZbPJei/Ff47gx2sXdElNvkPPZ+WKHN\nyV2SVQ/L7pzVZaJ3qynmcq1+cW5OugSjrSq2F7vOb2xXeIWmtOrOQXWvwawtY1enX0XavZbnmv1T\n+qXTQ/JbzbAPeOTOYFyJ8dw8qV18RrwX8kwJIYQQQoyBNlNCCCGEEGPwVGW+4yJJD/N1IqMOWxuj\n8lQGt1xjiAu5eYzrOppEArl7zHdvDDZH5Qct3ITNa7gST06QfaIIF/ig6Fy6fVdPl6CtXLt4Vs++\nc1m/cId7HcZdcsh53I87A74fTpESKlXkrW4eubGQc1FFLnnkQsBdGdWQG/IruCUHMy46po4r+rJo\nzeAOfeUEGfH1bVyvi73vH5XrnV+gbidIONtzztVfp/6Tc4x9q8O5hAMXbbE6gwu7UcNV/dws473z\nUVzhg1P6Le/O6TIzK79AvZP3sJ1YmfE7eWVzVH5UfX5U7pVwey+5CKCdOnrD3ryTpB43h7uGAAAg\nAElEQVQx7ZpvI2mUV5CgihHXTAXc4uUG7b9MPt25Myp/1ck7tQ5y7loCO02sOcm+6iSaODZ7nEKS\nmXZnVF6p0hcPssgzH3fyfcxF+77Rog7ZTaTTF3Iu+WvxYqLHQYzfXnFSzKNAedpF23W3XHLWNHJ8\nZw45fjJFvffb3Cc+g12tuXXqQYy1Y6nI59Md7Lw/ezFy7TJ4MI/MnXnIenc6h3ybXWb8EhESb65H\nn1a6SEFvprGJ5XWuaT3LeNx/zFqUc3Ls4RxS28yQPnnBRR8/GGB/sxUng5pZJfXRUfmlU5eE9Cr2\nUjjkt+MFPv/Ydfr6mSPG7LNN6nG4wHev3GYdb0/wnFmdYE3pDaj3gsu5uu+Sy14mmYZ7VcElOo1q\ntKdbZ52r72LXyTafp4a/NCoPlvm8t8lYrT6DvT88RAqbz/E8+fzZzVH5VgmJdCJNv6SqjFNouuho\nM+u7c/GmnVQ36eT88mMnKyb4PDLm2uGpi8Z3SX7bMdaL3hm2cBTc+asRz6ylI8a5foN6HzS4//tB\nnikhhBBCiDHQZkoIIYQQYgyeqsw37c726g5x4+fyyCRHTgKwK0Ql5Ldcwss5XHfZU+S5O7NIDOkm\nUQkxl3At4b4bUsgTsQr3P3Wu7lgJF+BeDdejmVl/gETzKOmSGC4i1ZViSFEbuY1R+csRbtPiAmcs\nJbtf5v5DhqcQIREenlGn4cvIZCdp5w51Z5WtHl3+MPcj2rWXYVzXE7hYK7s/OyrPNHAN13qMTdjn\nPlvXcdWuJRn7w1OuX3wNCaDhgmcmnIz0uPrKqDz9AtFy8V3kjKkbmxfak3VyaeFZxubkjEiUrkse\neJZ9fVTeKyOBbK1wTT646M0mUsfhjDu/L2KcGjHsbiJCdtqJYbOJ+sVIp8vi7iwu8Mwpdn61h3wW\nW8YG73b4fO469ylsI+HGq/SF5Z2EWUUOeTaGbdZv0c7215Fnll/kdysL3P/oCInhmfJF2fbAnbfV\nddJe+zl+o3vbJchtIR88dlG02YjrH+WQtNZWeU1h7z6/ddJiPIsvcE3ZRTfFEy7pcMX10SVRmHRn\nDpZYExfc2MwE1pzZa8zfauTOD3UJb1cC87R9Gxl84PJULi+5MxqdPLzcZSyrLeSl2MLbo3KxSd2q\nw40L7ZmocK/TDH0dpV2i5B7rb+vd10bl3ArX3HMJeJNz3sadVoeibq1DPm/cZSyjBXc234AIuStu\njl8m8crPj8onA5IFZ13U6co+rxT0Av2dcUlbm01kuP1D1tRXXRT87hrlUg27OJsjkvmVFAtvdop5\n1y07ObKBYQy6F/slcgv33rx7BcXlb85Ns57vB64fPuS8yJh7ts67c3n3XRLh4TPY1dwp90ykeUbv\n57Gpg7exi8nipn07yDMlhBBCCDEG2kwJIYQQQozBU5X5as4t11jF9Zd6HTdeIuPOWErhohtu4EKu\nH+HSncjjl53aRRqqr+PSy24j20wd48Y7zSEHxbf8GXrIfzMlJInW4OLeM19y0SQ9l1S0g0zQGeJO\n/JkTIlY+kkL2OC7iKp7IcX0rQg64McDl+k6PPlpxCTBjMe6TeuiSW6IqXRo7p7hGi8GdZ/SIunUj\nfniQIMIxNuOkkGPG8uoAN/GwQV9dX39mVD57zNgMnOyUOH2Rew5wYbf7yAo3XATa4RKyi5lZchvJ\nqDxNNGdsGtvpNl0kWJZ25gO/l/vnzm39MuPX3MJNXrhJIsiZ15EIWyvMia+4KMfZHG2+2nAZCS+R\njSG2fFxESkyuIj3WXDTUlSpzM32IS/8kzhyPF12EZAI5q5pizGdS/NaZO5AxOY9Eenzmz9bkmlQC\nl//28sUox+wh/XT4GpE7C3ewpYFLGPsoyTyadEkPT/v/fFROFJCCN28jtS+6CKv2Texiv0Pbnkuh\nYZzOIeFOlxnnyyJpyBzL5pJN5t1atvzOqHxwimw3k6VPy23s9E6NuVnsI7U/V/6uUfnEvjQqr09w\nn4MkEkzRRf7G7xApm3FryN7MxSiq+Axn09Ub1HXKGONJl7NyJ/nuqFyJsNPpOeZ8f5r2pF1OyZMW\n6/jSBOvLZo0xm60g86V7lJsbFyNKL4uDU+y06c93XaHiD9ruPMaIORI7Yu24scT4J130652ei/7b\nYaxmkszZ2ja/O9jgt7ZqjMezRbfGp+mvWMdlXTWzXiBibqZLMt+eO5u1cIs1YnCf7y+8QERqu0k9\nWt3nuI+TPNsZIgk3cthR2SWb9fuMgTsr84w3Od4X8kwJIYQQQoyBNlNCCCGEEGPwVGW+mQWXDPGY\nn06vEun1Zg63ackl2JzNIDHMu6SdNUOGsTyuu8Ee3+25pIedSVzIqTjyTOl5XKZ7Wcpxl9BsauGi\nXuYCX6zpcu+VW7RhyklvV9aRAFKGK7bTQ9KKKrhl3+3TR9dX+e2XStyzVsNFG/pIb+05JJboAfLE\nZfFcjwibROSSizq5KO1kkW0j5KtwQvRmfYjMla3hnq3O49pu9ZAqphNEs1QbyA0zVxjX/VVc2PMu\nYdyb7gy1GxVsyMysvMCYu6ZZyiVaXR/QnsMDbKfRcVGht7Dx/m3sILuOvHG86eqapq6rZ1y/vsg9\nt7dwt1+dwM19mRSKuLpTTkZvbyONTE8jNZcfMe9OJ4iY7ARss53fGJXzZfq+X2e+78Zuj8p1J2cO\n3Ny/2mZsyl0SCZ72qENz8qLEcmOWOfX4AbZXzNDH9RUm7XCf8alkkChmrmAnGXcGZRRRp0r2E6Ny\nurc5Kq/OYUiFIWO+UkS2eJBH5rgs5vew0704CW/TA16nSL7p6v+aW4sPSa47lWLNXVhgPvbcUZ9n\nS0TkhV1kpNNVJJWik46+XkLufK3F2vV2kbWxZBfPRMudYDvpPGtNage5qBPox8bz2ODGkDbXd1mb\nzCWL7bjnQ9atEeUGkk/sKnU6OcROp5aQplIn33Q+5CVRSyEF36xhR3tHSOEbARvcjfh8+fto/9Zd\n5shEhf6aNGy8MkH/Jpykvu4SJO9VaPONIvPpzJ2x+2KKVyXKxpw1M8v3scleivXszL1GM9h2yaiv\nIpdnW9hYos99B6e0eXbaRWCfUr+Defou2eEZ1G1ujMrtXdadTu5ivd8LeaaEEEIIIcZAmykhhBBC\niDF4utF8J8gBxVlcq7tfJ2pk6Sqyz+Mu7vZC7c1ROXWLSJGm4cZsBCSd5Cmu0RBDnuikcL1nXETW\nStqdYVXld++vEg2W7jg3sZlluj7xJq7LySPkp+QcPvHwxsaovJ/F/XglTiRCY4Dr+sVZ7t9qIjf1\nu1xjSyRNG+zRtugId3V95WK9L4NBG5dpZ8YltEtjUp0CLtnirjvPa5E9fOEervT9ElFUCwMky46L\nKmplkG+GfdzQ7Q7tXWvizl6KYQfHffoq3bvYJ30X0pN3KsPrTjJZLNKee8tuvBO4mM/uuER/a8gY\nfReFl9kheWh7xiWYc+eZDTa5PjGPrRw3vts+CCYK2PmxiwaL+q5Ogbb1mS52zSXAu+sS7DUecn00\nRace9bhm4aGLMHOJUEMHWftrEf14PMtvFfcY23wTezEz+4qzt2xrc1S+59TAK8vIG5sumeTNWfrb\nDpC6tqfd2Zppfjs29dVReamJBDIs0+b4GpLiwikyZ/rli+fQXQbHeWw7vshaMci5M0qryLcbTvLu\npbi+bsyJQY11bNmQcypDN5fTRHXWD5mP8QTS9zM5Pm8eIB2tTyP/ZU9cEk0zO4zx31Nb1GnZvQrw\nVpnxzr+FTbWXGPDHG/zGd3+Fev8/q0T/DY94VmztubNYO5Rj80iYqQOiQzPxy3+dwsys32GybXZ5\nhs41sNmDG5y7t7LLOlf9GvZbzNO2hqtrtER7lk+w2YkVL7vxW9evuEnUd8mqs9hUFqXV2ocXX485\nQSW1+cev8nsLvM7Rr1DX5DSvOcy8yzy6MyCSNL3E6wKHZzw3N2LOVvs8p+buUtfUdRcRv868zrok\nou8HeaaEEEIIIcZAmykhhBBCiDF4qjJfssBb+TvujLErq+5crDPkjVeyuPoKEx8ZlR/hcbQXtkm8\neXzIfXYJJrBUlmamItzB0y7SpX+K3LSSoQ5hlu8W713ce6aGuF/bFa6ruYi8hVlc0bMvukRhZ0iJ\n1QKu78kTGhdd5ZroAFmtN0GUQXvHRTe1cDmnl6jble5Ft/ll0M+QoO1xnTqnerjh+y4h534a1+ty\nBdfz5zK4W599iJRw7xmi5Z6NIf9lXBRkboAkvBDHnXscp71vT+DO7hQZ43zq4ploub3nR+XEI1zp\nV2ecIQ0Yp+wxUS+FeaSdmpMIE6fIJ/UT3MdTryIrTB0gTZ+68/iyV/CTLx5hN2fr9MtlMlzCfuPv\nUNfrWZKZ/mIOd/38C0g3za8ybvlAdE5umkSlPXe+WmLA+O+6yLCwyu8eREhtvQa2XzHGoNtCFnjw\n9sVIquhl6prfYM7PlLnXQYkfT7rItWqB+VtOMs5LLiJzdttFQLkox0cDzj+75pK5rrtzHTfLjP/q\nEWvQZZGJY4Sbr9OPqWX6t7SITeX23HmHC6xx+Rht6R67JKpOwkm1nZSfRy6qVN2Y5bGh+LvuHLQX\n+e7sEdFl6W96KqXcOW/dWep6WneJiQPrXXfqjVG5XqYNV0qM8dG0WzcH1LXgopGfm0bOOnOvikw0\nWI+20th11Zwx2w/YZVG/i8w9/Sr2OHTJZedOfKJTL9MzWDcStO1hB6k95uTc/TX32sg210+9xnPs\nVszNu95HR+W2ew2gMmRsPpG6+ErF63W+P7yC1Dvl5vlJIAI3e4ZdfWmK9fzaCbYdj5iP+3nmb92c\njXWw+aZLWnvmootzgWfWbQJV3xfyTAkhhBBCjIE2U0IIIYQQY6DNlBBCCCHEGDzVd6Y6W+jak9OE\nKR5EG6Py2jJVOnmMJpop8M7Ns1Xem3i8iiacuYkmOt/gXRRr8Q7B8Smh5avPsJdsRny3OE/ahuEW\nv1t90b2sZWZrEXp5sereS1rmPa76rjvUccEdlDpLeaXh0jL03YHOd9Cd+6ukBLjR4YDQnnv1J1mn\nXw4O3XsQ9ct/Z8ol/bbUbVfnlMvoXKN/8kXeQytX0P1vzfHuTb3LNasN6tyqotfHbtKfxSzjt+ve\n9Yi7FAbPxZw9nfHuRXT14jtThRKhz8Mi7561GrwrYXXeucivYhfb9xmnJafLd5Lcs7pKH83v8T7A\n6RU0+vS7vPM3m+L+Owu8AzFX+177IHhYpv+WrvKOw7sD3j261eb9tk6VkP7THu8/ljJkYu5FvENS\nu+UyaFfcOBRof8u9h3bWYvw3G5ujcv4OYxu597A6H3G5Gswsf0T/Jdx7dvfcAc2tqY1R+WaR95uy\nJXcIbpVxC0dk3+/Mc31+i3psRLyLU36G33qjxH2uuxMDJmvfXpbl98P+FOvUmjsMtlHivcDSAe+2\n7RZ4JyUkeGdm+A6f9z/i3h0rYxP1LXdA8cusxa0W7+RcmeCdwqMF5sSzB9hQv8D7df0s/WZmNtnF\nXmruHZg7C2SxvnqA/cZOqIdbWi3vzsKuFJjLk2nmXeIh7/CcrbBGTJUZ45MCz5apKfqosc97vZdJ\ndo32JNPuPaFlnmtNd/hyKs+zpZ0hpdCXKtjgRJsxWT10KRDW6NPlXd5vq02zjn5xmfG4kdqkonne\n/yt8hf46eNGdQm1m0QHvN53WN0blTJZ3CWeq7h29PuvlR+K8b/UoRpuLu8z3G1nqHU1Qj/g2a02l\nQFqFuTbXHJa5z8tN1rv3gzxTQgghhBBjoM2UEEIIIcQYPFWZ72EVF9pK3IWK30Izqh04F+9NQsW3\nT5xb9oDrSwe4sTvXcB9OtXDdRs/irptb4f7JPi7j8vNc093EFf2qy4ze7F4Mv+4ErovncZtOuEM7\nC3i7bSuF3HBjAinl6LY7mDLNfcoudPjsq4ToV2ZcNvE28kl6CRf16ilhpo/dwcuXRbeBKzmxjJzT\nceOaauJXz/Spz/CU8TvqkPU6miLVwekQV218gu/mAzJavMwYV9tIGM8HJ+0Nkelq7tDizhvugGwz\nS2ddhmOX8mJmx0mw+z5bNfZ4MovredKFK684DXbaHdDZmsXtvXD24qhcvoabO3uGtHc9Q8b/VMAN\nf5ksZZDVEgf03/QMNjs/fGtUfnvi46Ny9iXq/YUy8zGVxe2fLbpDkpPMoxqed8sMkQ+O+5vUJ0lf\np6ac3LKAvPhNmS6stoF9Zjr05UwOCWwuculQrjDOlRT22Y/xe8klymd9rnn1OaTqe3Xm2rJhC4MT\nbHVngv4NU0jzl8XUkHXgcJFxXehTh9aQ+r9svNZwdsD86k9Sz0KT78ba2G/yGfo27Q6hfmGZvj3t\nI4+2AnO5mKd/ii3mVrfPeJuZHWdYC1pl5ulrHZdmIbDu2DTPjTN3uPNhhnWzfoQdfNc7/PbOFZf1\nvITNtlqM8VqH9b1z5NOiuNPuL5FomjHcfUT9VrIu1U7G9VnfHc5+RLmcoN6JPON5GJGFPJnFHndv\n8qycfQebyjTpx1KO1BOWQlKMCsz9avVilv9GRF8mp53UW6euh7tujrSwpaxL1XI6SZtjLh1R1r1p\nUt6krocLPENLB2RMb6YY59409hnVLsqT74U8U0IIIYQQY6DNlBBCCCHEGDxVmW/eZTiO1XhDf++M\nz5fPcM9nW0hYnSkXVecOZV2dxb23XsB9eOCUrUELd/BqB9fd0XNIEhMuK2urgGZQyiHHhQfUx8ys\n7yLIkvN8f34PGSM3T9uGGSKABvtE5F0bEAWSuHlvVO7u4AafeRYX+v5d6pFIIo08PnThKi368aVl\ndzDlJVEq4Up/XKe9Cw3GqdEns2w1g1v1uWki8iouu/FMm/p3lumffBkznfoqrur6b6AOnRMXRddk\nLIpL9MPwefq58+WLpp/r0L/VVeTG/jZu5cOr+I8PXJRU4mu4hlsHyHk+wnAyx/WDAf2VbuBuTw6I\nAm042eLUHdqb3HDppy+RrjvUcz7FHHmzSfuHnY1ReWqaDMKDU6SB3zSHzR5MuGjcmDswuIu293gD\neW2x6dzqOxz+fVTGdl5aQPK8H8fW+tedb9/MYruMZ66I/c+3kC1PnCQd4tjh9XnqsTmHlJg5Rc4e\nukjVVo8xn/y4O9R1h1MCYj1eQSilGMOpNepzWZy66N1MhrWi3GNevBoxHqcJ2nLUYW0tJbDZdIw5\ne5xzB3uvsuZecwr0W7c3RuWZFfp/pehksRPme/IG83Tp+JteS3CZrmNTjPPXXYbyT+wgBX11Z3NU\nzi+xlp8d0+bpPPLf3hTriA2RmmoV7LrWcM+uCSL4Tvo8Wypzbv29RJ6t8YzbM37DLQvWSziZK0tf\nbOWx64nIvXOSZc1KDP7vUXntmGjO1hCZbyuJFPZyxBhUz7CFVAsZ7WvuFJHj2xdfj/nE4s+Myu+8\n/T2jcjuDfSZK1PW4w73u1VlTF/dYO97Z4dl6+23G/OXA87uxzckWUdLJiwvMx6I7tP1k6uft20Ge\nKSGEEEKIMdBmSgghhBBiDJ6qzPcog0v4Uz10hfYDXHRz6y6iq4xbdvACbuArMdx47aaLuMjhDs5u\n4LpNb3P/xioyxGwF93y/getyz3Dj7hVxUeaXLx7YeDOP5OTOwLWd60RopbpIBstOejty0kDr00hU\nMzFcl6l1IiiKj3Hdbi+QNC5RRQL51CEu9EdTyIUHJ5cfMTSMfXVUHhwjbRwXXCScUefISZPHL+Ke\nz2wyTpn8JvdMIys8LhBpOZXHDZ99xHh3JnG3H03Q57NVpLPwGca1NIPr2Mwsk+L7b7/FeOTjuL07\nm7SncIr8lZ6hzY0l/j7Jtl1k4yn2Hq5wz9B1NnvmEkouIdVM1Im2mup+MFJCiCMTPEiwLHyvO6T0\nTpG6TpTRGM6mcJO3t5GJJqZx1TfcAbLXXRRXusXcrBrj3PguPl/scJjq8RTz5mqasZ09RFIzM0s/\ni0z4rlM3eqv06+yAVw2iKm0762IL8z3GpONeLyjMMc71BON8dojtlRJIhIlTrp+7wnw8fYNkvEYz\nxyLd2BiVn0vQroeTSBhfDu4w9mOXSLNPv2/VGLPqFOvgeoy+DZ93BwYvs4YOMvTboXvLoPjwM3w3\nOEnpPutAe+7i3/gHKeZq6ZQ19OoDJKY77qDuYpxnwtkZEuZKjzn75dpro/LNKdZZK7hI1jdJ3jtT\n5Jlzv0kfJVwyz3yV8mWSGSLJLbuDlQdZFxV7gv1vJXmd4eZnWUfPPsq6dn2TceuWsIueS2Bqi9h1\nokm/fO4BE2phkrmfmn04KidPuCaTvpj88mt1vtOtsKamjN/ePnXzaJ59Q/4YuzqrIbvHCjyDqsac\netdFglby3HP9lCjE3Yg1pXOHQ7InJnnV5P0gz5QQQgghxBhoMyWEEEIIMQZPVeabPUFmOZoiumVi\nQMTB/RN3ZtBVXPLTeHStdw23XLrqpLbHuPRO53A5Z4dcs7GPi71x5s5dy+K6Xqjgfk53N7l++WJ3\nhUe4QZsFJ+d1kUB2I+StuSPcsotLRBY8MuoRG7izsco5dw31zhzg3iwvIgG93sW12qpS1/YZfX1Z\ndM+QY+NryAHZFv2w7RLdPbtIWzIuQq7j3Na5KdoS1ZCz1lr0Z3MWl3z3MXaTa+L+393FhqIkCSVr\n11yk1RsXZb50CZduZnuTNqxQj5kKbbiX4Gyn+bY7L9BFHg2K7gy6m+7swASu6sQAKbu8QhtiQ3fO\nVY5zLOszz9oHQanjJGxUDGsvE/VSdGcNnmY3RuWZmkuuu0xEzgt7jMO9HlJFds5J56tIYbFDovM+\nFkcbik/Sj4vXmSvHZebE81dcRJaZ3b3PWvBiySUkPaGdgyzzt9ZD6iitcV8XJGW9u8yjdhJpd+c+\n47OwSH/F3VmO7av0XWWH+ZtNkTDxsoi9gj2+8SXWgRtl1sH0JHOw8RD58vZ17DfhAiSLx6xjBzFe\nLegVmLOrLtlr0SVabZ0wZ09TvKKwssYcPDNCAbuNi7JQquvOFi3w24+c9Da5RdtO8i761SWzPAuf\nHJW/u0Kd7rVdNOYhdZqbYSyPjfbPBOzRBWlaIUHi4Mtkt8CPDI5ZL+ddktDDJPWbfIu+vP0pbDld\nZj5+xZ0Bmz+kH4dp1styD+N/vsbYHkwwBzsN5pnd5vmT3+CeD1vIf2Zmq0VkuGHNSfhH/F5Yoj3V\nfdq5dcZv5JwkXbmL3W6ssha06mwc0g+Z+9s57r++zlrTu8ozayuupJ1CCCGEEE8NbaaEEEIIIcbg\nqcp8totrsRzDFTvnItgOX8Ll+vgM1939Ai7UH34XKeHBunMzTnJ9v4eLNjXl3uifxwU+dfqxUfnd\nNNJLadWd55bl87me+y0zO1zHlVl85+ujcrPH91falB/lkJmad0k+uPIMe9peD5dmxiWHiwK/XR68\nPCq3C7hQZ25Tn+ZN5JPhXafbXBLlrkv6tufOLAu4yT+VxsW+5c656uQxu1QWeaXcIJlju4ytJG7R\nb513iARJTHGfVg73bypCvjnsUbdYHcmusHcxUiMdkYTyNI193X/M+McH1CO/yr1OhvR7q4orecJc\n8tBTNJNkjfvMrdCG4X1+q7/8NX4rRh/NOrf1ZbKwQPRnNYv0NHSm02k6zWvSneG2gGT04h522n+R\nvtho4laPnHv+Zgbp4c0I6XjenS+2FnH/r8a5/5KL8uzOIVWZma30iVY6nGJ+lU8Y98hFEhVjfH85\nIKuEJGPyyEX2FieQJKdvEoVUe8x365PuVYYzl7DXSWAT3Yvy5GVQ+xL9PjuP7QwzjFn1Mf07v8i8\nu+9sbfEB16c2mO/NPT6/5iSb1go2Xj+i/2spZLHJMlL2zhFrwnqN+7/Tu7heTSVcItxt5lQpxrh2\nXPLQTI9oUXOvWRwZa+VpkfHO7VA+6jgbv8V4NzrUtdtAOms1mMv9aeTby2TVPQe2q6zrgzKS3Ezb\nnS35EdpZdq88zAywi5hTTif6PIv355BtUw0u+mILG1l30l6lhMTdmKSPJjYZm+rkxefmSYJow3rT\nRUMWsKVm083BBy7C8Aoy8WCAXUQT2NvXXAJed4ykPVvkPxJZt+cw+qXdYw2ajH974ynPlBBCCCHE\nGGgzJYQQQggxBk9V5kukcWlvuDxpR3jrbPHzuFD7q7go1x6RJPLoY+5zd57XHSeBtOaJhpow3Jir\np7hJjxdw7y1UcV1Pnbgz+2pIONEirkEzs1yPyJLJZdyjX0rjWp44xEVZWkJKimZxiadSLnHjKb9x\n20WxVGu4rrOvIGlFX8AF3P40rtHi/c1RufGISJfLYtDDrTpcRLK8XmP8NluY10xEeaKFPHNv+kuU\n+/T1egoZZeIY1/4wT7/1XZTWzB7yxOksEtyEk2wfvHWD6/Pc38xs5oB+v9fEIPNzuPHnC9jI9gP6\nOr+EHLBU4jf6N3BhF/ZdQs5Frq8cILfMTiJ1PK7hGr/vEqHuFDn/6oft8nh9H9f4+ix2nS7Tf8VZ\nxraZ4/pQpi82cy4qsoZtdg+Za3nDlb67wjgUZ5Dd9pvMm5Trl+/aYh4czfDdXv3iuZlrBea5Vejj\n4hl2O1UiiudoljZkCsz/ugv4nUgz77o7yA39Ke4ZnMyd69Cex+4Mvk+msIvd+hftsikmqPTtNlLF\nlJOw5lZ8NBv9Oxxgp0Nz8kyXsZ/OMN93nTQd3HfTU84OjrCD/RMkzmWXgLcycOOdcQ8HM9vP8Nwo\n9hjn7ayLln2D3wg3+H6hx1pQaVJOTNAX3SI2Fd3EprIuWebGEZ9/PsuZo2GF3/32Yr/ePzNpbLNb\nwqbaHeo0nKaP5u6yZkVdXmupl1xiywWeoft73H/jEDnv9AryZyaO/e73eZ4sRPhjMhWeuWdDnnWd\nrIuiNrPuLuPedPP8atkl0d1gfB6/ynw52aLNcz16vL6JLex3eGXhued5phy6rAGxM+zo+bpLIO4i\n+HLxi1Gl74U8U0IIIYQQY6DNlBBCCCHEGDxVma/dw733Vho3+cQzuARjTha7UZj23soAABUbSURB\nVELeOGricmy8jgyTeZVyZYIz8W61cUsfVXDjdvHQWmrnX4zKgxLJwxY6uDG/Tg5NS6fevtCedB9X\naayNFDUTQ26MxV1Uwo6LiAnujLUs0sDWY1yaS9eIYAxdIpp6eGJt47vpo9c/4yLXzvitwxvIU5dF\nMobcFt9xUmMBaSAxZK9+PIG7+Sjl+qqG2/+jTi5KpDDNRhLJZqnE2Gx36f92gqiS8qE7H+7EnTvV\nRSoOaxejqN5xCVkLr9N3hRmkoHrZuYCd4ttsM37xMwZn6g2XeK7gEkQ62089hyTRfODkjFVkktL+\n5qi8evzB/P2zUXJSjItuKr7EnK0/YjKs7tEB5UWumXTSVpSirtEUbctmmJtLLpotP/nWqNw62hiV\nY+7gy6o7c3K6wPlaZ6dI5WZmt3P0aytBBFk/xVxIFPntRIP5lSrTtmIHe47X+Y3qwudG5c4Q2Svp\nsguvlLGp0lvM99YtIs/C0UVJ6zJ40KH+z08zloMhc/b2Q+qWv45cnnIRf3V31lz8mHnQLyAjHj7P\nev3iMeXqPu0qZ0hQbCkSZ246qbhXITKtmmOtMDNbP3Qy8gzyz1KL+6afQc4p92lbfI+6ttvITet1\nrtkZ0ObJfWzl+BbPlp04a0Kqgx0cPeY+tezFRMCXRd4lvC21aX//OfcqxKFLnJtmjaycskaGDvM0\n1UN2D2suwXOL78a9LFplrqWM8TgNjFtn5edG5bNJ5sQzhxfX2nJEpL0PZt2JeC7Ec9SpfB95fTrO\ns6Dn2rPwKfqisEUC7sQO8ze9wP3nllnvzjrsDxavuLVsG1t4P8gzJYQQQggxBtpMCSGEEEKMwVOV\n+VIRLrTkHNLe9CP2dAUCnazpzpJKbiB7rPVwSx/cx7U8t+wSBrronELfRRzs4d7sFzb4sQru4C/M\nE5WyuE/0VNacvmZmh2ncgNEurvWFj+GWPXVnAHWyb4zKPprxrrnzCBdwFTd2qcdayiUlLCIZvX6I\n+33jqjufquEStO27c9cuicGzSACN+/RdLoW7PdsmKmz+xEUw5YnmaiXo39gKUl18Fwmg1EOCORsi\nkfRWkQPWDrnPXpHPj+8iO619hEi7xjsXpc9bLzIV3lmmr4OLQmxmXdLGacYseY8xrrvz9bLTLorM\niPgqtBiP1wdcc/0Wn6/duz8ql/NElXSyH0zSzqMiY7J0SN90bmODmSYyX1jl85lD2nCQ41ywdNZF\n/Uzi2m+6qM1UnD6t7uDzXzrDbV/PYePtBZK2to6RIa5mL47nlpO0BhHz8eoMdvj4LSdhzrF2zMwg\nB2Q72NJ+hnmXjpAGBo+JSC1lGP+DFn20OkW9+zskJ8wnXILJSyKdog71iktm6ZKOJq5SnjKuv7vL\n2rq+gLTTdOej9Q7ok+yAefC2S5CbdBFfqcJv5LtTyCuxAfNssun6Z9tllDSzBlPb+h2k9v0+ks/6\n2/y29dwYLDBmM+6Mx8dNfqPYxg5OFl07912EaI3yToZ6X72ODd7ex64vk8QScuNEkmdZpcMrDFEJ\nG5+bcedXPksC1NzXkDl7MV6v6Jxh72cuKjblknzeX0FSffUEu3iYcpHvd0mCfb2EFLq7cXHNWnVt\nuHfm5Dy3HTlo8eyYLrDudJJI/qdx5tfhA+r66z6GLTw4ZUye6TAXokmXOHqB/m2kkVFnX3PJQt8H\n8kwJIYQQ/297Z9bbRnam4cN937VREiXZkrex2x13xgnQMxcz88MHQZAAnXTSmU66Ha+yJIsSxU3c\nF3GpuePzMRggPSDbV+9zdUCUquqsVXrf+r4jxAroZUoIIYQQYgU+q80X2kFy7XjIwN2JiRIyyRRz\nc+Ta6OzPi/LVALkyn8YC2bk9W5SDPiTggB+boJGhytMmEmXB2A3jLrLnVdBEyI2WI2/CQayEq5f8\n/b5N1BnFovo4RhK/bVPPWQbp8mLOefJj5ORWAzl5EDGRGH7a4m8eCfqmY+ofSSGtr4tOGWn0vmfk\nU7On0iCDhRFOmL0F6yRRfdKkTSdZpPd6hLrHZtg/tU2Ozw2Q5//nEQnfCu/o19k+yVRnr7HaIlv0\nhXPOXbRp0/0m500aC6Bvkmfmm4zlpolazEQYX9UacnhqaCzoKH3/vGuiZ47ov6sYcnM4SHtFEsj5\n66RYZsz3klgurTBjczPNMWcBxt1XbdrV75jLr8/5vVWkT7ZN9GPCZMUchbHy7zLUOR7DXm+dMQ9a\nHm0UrC/v5zbPc67JFeO/ts/cjOS5Rt7YzW8a1K045fjAFItpPiOqMDei/+8KWA/pPrZStY01FgmZ\nhJ8HJqp3TQyMVTd+jM3dN/viJc2YLXdoq1SWNv0my5x4UTNhzQHGb6XEpwvxNm0Y8GPz3Bm7qNOm\n7/drJipunzk+L2HHO+dc4x3rdyxJfToZrKo/x2jTVI0Is6zZa/BiSlsfn7N+VTLc023XWPkBjgmb\nRKuzK+7nvz36+GiyHIW4Lpq7WPDhGNfY/J61o3yEnRUYY9U9MXrJ2whjOT00zxkzN3/nKH9R4Rni\nf8PaVGd5cBt11tFhjLUvcsi6ud9lHXTOud6QqHh/jrGxWWHe7eTo216XOvv6jJN/NfsuflvguXDZ\n4JOCkmci7s2YH9zxzNoJs64fFLluxIyRn4KUKSGEEEKIFdDLlBBCCCHECnxWm29yioS4t4MkvDtE\nfr4sIZMHfOZL/yskzUiUPYCGDzlna8Tfhn2cs3trIv5MBFAgiWQ4NDKu/xorJRRG9uvkOL9zzu0l\nkVYb15z3xse9pqrIiXspfp/6sQmqDZOc8xDroTMgCmIzc7Qo9yvIzN0Qkn5piKWY7nGedmv978yH\nHeTzmI97GJn98rbMu3p/QJv+u0kM+G7ycVEedrFsi9dIrLU0fZO9RrYdx5Hz40mT5PIe/f1hiER8\nshSlZ6IjnXNhYznEHvJ7u8bfTyLo2+MM0vtsjp0VrZp9qB4jZ3sT+ixVRfb2bPRQ1ewFtoOl1L5j\nrrx/t7yn4LroDI2kXUPSD5p9DvsmkiZokhi+umEsJIP0+YMCc/DDKfXxmQirlrHOMjN+v8rRtxOT\njDc75d6GHdaH8+A/SPKvv1kUE0dYMb0PjKXRMWNgXiMKMdXBqp4zpdzsBcc3WhwTz2AxtOocEy/8\nYVHOjY1NNiX6zzX/062bic9aJMyFapPkh9s5Yx0lGOPBMGvcgzPs0fMwNur8mHaPvsde63VZ6zY9\nrnWzyTrZiWHr/DFu5ruxe9vl5cjMg7iJtjplnhf2uEbj1dmifLVjonbH1KeXZGz+9hCbK2FsyJnZ\nT/PyE8fHzJ6jwTH1P2mxjkdTP8/ufCcp7iNwwecM3x2ZPrz4YVFu7pmI6rfU55GJCqyaPRIHAebU\nL00y08ADrLrDHJ8pHL7Haj3fYj3anTN/+7fGXivxeYBzzvnPGDMbQyK4L6KM1dkubXkcpa8qbSy5\nWZzr7V5j+UXCrMGhOPXM3bFm+fP8no7Tt/EG6/Tt8f8vOlPKlBBCCCHECuhlSgghhBBiBT6rzRd9\nhuQ6+AF77vQXZ4vy5uzXi/JfI0i/G2MTwfeUhIbROvJjY4bUdxDiWm2zt1fLRCh8dYIkb+Vwb4js\nORsjjSYDyNLOOdcYEmUUayMbTjax82bGJjytc9554GhRftlCov191Oxn9j116zxBcg+PsdKCxvbw\nOaILPxRpi0ln/XvzDU+QQ3dPKZcnSK83B9hiT8v02cUlUn1ywyRPm5kIxIfYf4EE9sFsiLSfHmB/\nZRpYLfVdbJ3tkdkT8EeulT9cjsxs7JoIszZ/f2cshuMJfXnepw9Cef62esm4m4+QibtTzhOPMdbm\nJmJqHkZWH7/BOuw+wI72Hy3vQbcuOn7uI5tCuvcG3PdWlfE4f8jvf/RR/4Mgf9sdcd/RBMeEzB6H\ndyZasHxqIqZStNH0FWO826APD4vI/w3/8tz0HRmL9RPjcFCi3+LvTGRoGtvu/Z6x41NYFMkJ1whF\nGfPFHnW+PWSMdNv/tSjvJBj/yQ7jq2F+Xxd14zTfj5r9KzeZC4OQiaKMMmY7nxiDOwVjZW4w7uZl\nrJZxApurnmXNGdXNfmch2nOrQt9HsvxtyCT7PTCRXM451w0wFm5MBJ+/y9+UvyIR6lYLb7Zs9u9M\n3hHllTCJXJPmMeidYREWz+nXT19yzHWDdfYua5KTvv155mZvxno5Cp4tyjmzv168iI0cCfGJR2Vq\n9r5s0y7bX9O3jf6LRTk0Zg62LiiXzNocNutXJMMnN9M2beHb41qbjeWk0cHnfEfR/IY5PB0wJrcu\nOFfG7DW5+8jY+SYZdbvAuBpHTCLohomwfMYxxSafIORHR4vy99uc82WCfv4pSJkSQgghhFgBvUwJ\nIYQQQqzAZ7X5GiHkt+AzZLx7LSTXWog9+x6GkNxODvjby7dIvUOHRD0uIsv2p9gk+eaXizJxR85d\njrGSwmMkxrsAsuowTTTTxpAoBuecuxwgA76YYj+98kwEYIL7mO9yf7FX2Bt/nT3m9zIS7fQQy+yy\nTFt8MUFO7vrQ9M1WaC5RoW69PDbZugibSMPf+JDbj+fIyrEgEmsrxH2OfsF5fB36bxplP6bvr7Fg\ntz1symj4xBxP3zRjtH/oEmsmaPaDzBhJvv9qOVIj+wzZO2CSh6aMvdyOIhNvdSmfJpG9C37qs5fl\nXuNXRItdJOjjzAw7JBXgf5tqlDkRaJgo1Z8nZ6fLtmjvyhbjen7LWHu7SRslzBicPDhblHu3tH2o\nT8LUsQ85/1XeJOOtIeGHktyDV2e8JwbMm3qAe9jYZQ6NPy5bLHcps2+fSej3tssKEJxjPV7MsDSK\n77HUxzPur1dgLqfbRCR9YxKy7k3NPoLT33M/ca7rG9G+Vcc8XRdZk3T4Q8DshzrF7pwMTJLTIO3e\nNaGszQAW2f1PtPXOgLauB0zk3JTHSchEPtdGHH+TMfuwTmnbj9bKKZgQSufc9S17vpVGzKOrCG06\nq2P/nL9m/W0+PFuUt++of/Ut9zoz0chelk83TuOU543/WJTTfuzCZo3nRj60/j1QnXMuG+E5kEqx\nvr57g7U582hXE8zpSnvcn8/DCry84V5TAfMZwbX5zKTE8cGZicgcM7d2guZzkifs3zf1EaE+8zF2\nnHMue8NzNPAS6zzSYJxUdlkXj96aPQL7Zi/AbbN3r9l3Mm+GT/rhr/g9Tp8HPea4Z9ruJMMYqbtl\nu/mfIWVKCCGEEGIF9DIlhBBCCLECn9XmuzXRTYcVIjnGBfaD2pgiLae3uL0maqWr3SGTJ1NEw2SN\niXf+LdJ75BF2U8eZZG3vkTf/fh+pe8skYqtVuNbs5bKM27zhvD84pM+ICSzKvkaW7F3x97E49Zw1\nsX1epZGWSwHsv6MsCQC/nZOsLWL2+OsXsSoqDfygX43WLz+ngySe3NzF/ghuYbclLmm7cgsL734a\n+fS3JtLjfhSJNRM3iU9jyNnDEDaPi1H34Xe0c+bR80U5HCD5Y+cOC2O0/+NSfbbeYEl9ymI1pztI\n7LEcY+djHPvv8IZ7Spr9qT6ZhHnHYZLtxQvUJ1xgrI087OjcnDHhj9CXrdfLiWPXxVUUKT7cpE/u\nosyjnRvm2sC4pL807nenZvb1c9gnN/ew6fdvace2SfK5nUSfn0y5QKXH8eFtjh//QFsPktync86F\neljbr2+JBnw8pZ8rObM3X8vYBz7Wgn6Wfh6bfeUmYcbV8zjrV7vCMcUg8zewR5v2KoztZ8HlfejW\nwbCFBVmKmiSUJgK1OceeyR7w+8REsBXmZj+2ENZheYrtPtpiTmU/nC3KntnTstrBUhwbqzwxpG29\nL/l99Pdly9YX+G5RHkR5EFR6tGOsbD7guI+NvHPJGDnbNhGy20SnNTvMr08J1nG/43OPjfpfFuVo\nkfse9LAna6mfx4M/ajCWr3fOFuXkLWM5FzYWdJg6xKLUoVaiz48DjFPX4VnkxUyU8nP6+brM/No1\n69H+Gf1x4zPPXGNle9HlRMO+e18vypdB7LZCAlvxgfl0Iv+CBWYzwnkLP1KH4C7PlHKO3315+j/x\niHU6/9EkcC5Sh1jB2JkmKehPQcqUEEIIIcQK6GVKCCGEEGIFPqvNdxhCGvdKSJRBZ/ZhqxPdclVB\n3n84QqIsmaR6V12stuqQSJoNI/t5RaTL9hmybNXI2LH3yMT9rEksF0Lqe/cbjnfOuUgOP28wwTKs\nV7Fi4lNk9qFJQjq8QGZMzJEWn06xDD7kSDzYNrnHBmn2M8qcI3vehKmnP0IbvRksWyDrwNcn2mKz\njUUUMtFSkRHtdXDAff6lZ5I8BkwCvJaJwovRT+WPR5zziUl8avZjmz3hPOnO2aLs3Tcb7X3H/w6N\nI8aTc85l/406PD3leq9S9GWrSR/nI1gXoRiWQTVOtFF7jkxexnlwOz1sgs5rJPa6sU8CjjHoPUby\n7u2sPzLTOedKG4zBehKLZm9iLHKPegZb3N/HIf02CTJ+j+5R6ewFEXUBx+//kjT7621gBUausULT\nadooYPbR2rV7dw6MbeGcywVNn7ToQ2+ftuyYPdbCaeyQNyMs4F+HiVDq3CNBoXfJveaTRHf1E1h7\nuTbXnfWx76+yrAnTGpb9ugiY818PaK+ox/0UTOTZvMW4jgSw4wcfsWfeRunXdJT+m/7ub4ty3cyV\ncI8+882xheJ3/G3SJFaen2JN1eeMP+ecG5nIw8Al438c5LzeCfXsmiSvozTrSPKWNaJtEkz2QtRz\ne8z9JZyJQrviOZA2tlX/jN+je/T9Omk/NTa3SZiaP+B5kgxjnc03GLPhDv3m32ROhd6zdt7co73v\nXhBq7TvlOfNFyXzK4LAUh5u06df3sPj/dEs/HS3F0Dvnmf4tfuAa+T1jk/o55tZ9tSgXzDZ/tyc8\n72oZ6vn00Kztada14ZB+Kz3j/cDXZ77Mw1iNux5rxU9BypQQQgghxAroZUoIIYQQYgV8nuf986OE\nEEIIIcT/iZQpIYQQQogV0MuUEEIIIcQK6GVKCCGEEGIF9DIlhBBCCLECepkSQgghhFgBvUwJIYQQ\nQqyAXqaEEEIIIVZAL1NCCCGEECuglykhhBBCiBXQy5QQQgghxAroZUoIIYQQYgX0MiWEEEIIsQJ6\nmRJCCCGEWAG9TAkhhBBCrIBepoQQQgghVkAvU0IIIYQQK6CXKSGEEEKIFdDLlBBCCCHECuhlSggh\nhBBiBfQyJYQQQgixAnqZEkIIIYRYAb1MCSGEEEKsgF6mhBBCCCFW4H8B0Uo1clDPL+QAAAAASUVO\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7e9a179f90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Visualize the learned weights for each class\n",
    "w = best_softmax.W[:-1,:] # strip out the bias\n",
    "w = w.reshape(32, 32, 3, 10)\n",
    "\n",
    "w_min, w_max = np.min(w), np.max(w)\n",
    "\n",
    "classes = ['plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']\n",
    "for i in range(10):\n",
    "    plt.subplot(2, 5, i + 1)\n",
    "    \n",
    "    # Rescale the weights to be between 0 and 255\n",
    "    wimg = 255.0 * (w[:, :, :, i].squeeze() - w_min) / (w_max - w_min)\n",
    "    plt.imshow(wimg.astype('uint8'))\n",
    "    plt.axis('off')\n",
    "    plt.title(classes[i])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
